#ifndef SCHEDULE_H_
#define SCHEDULE_H_

#include <vector>
#include "coursesection.h"

/// Set of course sections that fulfill requirements and constraints.
class Schedule {
    std::vector< CourseSection > courses;
    
 public:
    Schedule();
	Schedule(const std::vector<CourseSection>&); 
	virtual ~Schedule();
	std::vector< CourseSection > getCourses();
    void addCourse( CourseSection newCourse);
    void removeCourse(const std::string& courseID);

};


std::ostream& operator<<(std::ostream& output,  Schedule& s);

#endif
